package com.xgk.boot.module.core.dal.entity.truck;

import com.baomidou.mybatisplus.annotation.*;
import com.xgk.boot.framework.mybatis.core.dataobject.BaseNoDO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.Instant;
import java.time.LocalDateTime;

/**
 * 订单API请求日志实体
 * 记录订单向外部系统发起请求的日志
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("truck_order_api_log")
public class TruckOrderApiLogDO extends BaseNoDO {

    @TableId(value = "ol_id", type = IdType.ASSIGN_ID)
    private Long olId;

    /** 关联订单编号 */
    @TableField("order_code")
    private String orderCode;

    /** 参考编号 */
    @TableField("reference_no")
    private String referenceNo;

    @TableField("status_code")
    private String statusCode;

    /** 请求时间 */
//    @Deprecated
//    @TableField("ol_add_time")
//    private String olAddTime;
//
//    /** 请求内容 */
//    @Deprecated
//    @TableField("ol_comments")
//    private String olComments;

    /** 请求地址 */
    @TableField("request_url")
    private String requestUrl;

    /** 请求方法 */
    @TableField("method")
    private String method;

    /** 请求参数 */
    @TableField("request_body")
    private String requestBody;

    /** 请求头 */
    @TableField("headers")
    private String requestHeaders;

    /** 响应体 */
    @TableField("response_body")
    private String responseBody;

//    /** 响应状态码 */
//    @TableField("response_code")
//    private String responseCode;

    /** 错误信息 */
    @TableField("error_msg")
    private String errorMsg;

    /** 请求发起时间戳 */
    @TableField("request_time")
    private Instant requestTime;

    /** 请求响应时间戳 */
    @TableField("response_time")
    private Instant responseTime;

    /** 请求耗时(毫秒) */
    @TableField("cost_time")
    private Long costTime;
}